1. Technical Field
This invention generally relates to interactions on the world-wide web, and more specifically relates to an apparatus and method for providing access to software applications via the world-wide web.
2. Background Art
The development of the EDVAC computer system of 1948 is often cited as the beginning of the computer era. Since that time, computer systems have evolved into extremely sophisticated devices, and computer systems may be found in many different settings. Computer systems typically include a combination of hardware (e.g., semiconductors, circuit boards, etc.) and software (e.g., computer programs). As advances in semiconductor processing and computer architecture push the performance of the computer hardware higher, more sophisticated computer software has evolved to take advantage of the higher performance of the hardware, resulting in computer systems today that are much more powerful than those that existed just a few years ago.
Computer systems typically include operating system software that control the basic function of the computer, and one or more software applications that run under the control of the operating system to perform desired tasks. For example, a typical IBM Personal Computer may run the OS/2 operating system, and under the control of the OS/2 operating system, a user may execute an application program, such as a word processor. As the capabilities of computer systems have increased, the software applications designed for high performance computer systems have become extremely powerful.
Other changes in technology have also profoundly affected how we use computers. For example, the widespread proliferation of computers prompted the development of computer networks that allow computers to communicate with each other. With the introduction of the personal computer (PC), computing became accessible to large numbers of people. Networks for personal computers were developed to allow individual users to communicate with each other. In this manner, a large number of people within a company could communicate simultaneously over a network with a software application running on a single computer system.
One significant computer network that has recently become very popular is the Internet. The Internet grew out of the modern proliferation of computers and networks, and has evolved into a sophisticated worldwide network of computer systems linked together by web pages that collectively make up the "world-wide web", or WWW. A user at an individual PC (i.e., workstation) that wishes to access the WWW typically does so using a software application known as a web browser. A web browser makes a connection via the WWW to other computers known as web servers, and receives information from the web servers that is displayed on the user's workstation. Information displayed to the user is typically organized into pages that are constructed using a specialized language called Hypertext Markup Language (HTML). Web browsers that use HTML are now available for almost every computer system on the market, making the WWW accessible to practically anyone who has access to a computer and a modem. Although the WWW is becoming increasingly popular, the rapid growth and expansion of computer users accessing the WWW has brought along with it concomitant problems. Some of these problems are identified below.
With the growing popularity of the Internet and the WWW, businesses have recognized that the Internet provides a new way to boost both sales and efficiency. If a user with a web browser can interact directly with a company's software application, a given transaction will be simplified. For example, let's evaluate how a person typically reserves a rental car. The person calls the rental car agency, and then gives his or her information (i.e., name, address, credit card number, etc.) to the rental car agent over the phone. The agent must enter the information into the car rental software application to initialize the process to reserve a car. A more efficient car reservation system for web users would allow the user to interact directly with the car rental software application. This would eliminate many of the tasks that the car rental agent now performs. However, devising a car rental software application that is capable of interacting directly with web users would require creating custom interface software. Likewise, a custom user interface must be created for each different software application that is to be accessed via the WWW. The preferred interface would be a graphical user interface (GUI). The process of generating a custom GUI for a software application is time consuming and expensive, and typically results in a proprietary user interface that cannot be used for communicating with other software applications. This means that a company has a significant disincentive that would prevent them from providing access to their software applications via the WWW.
In addition, many computer users have adopted very different forms of hardware/software computer platforms. For example, while the IBM-compatible personal computer is the most common type of computer system available today, other vendors have developed very different product lines with significant numbers of computer systems presently installed and in use. These disparate hardware systems typically utilize completely different operating systems. The existence of these various different hardware and software systems will typically require a completely new programming and development effort to "port" or translate the custom GUI for a given software application to each different hardware platform. Many companies will only support the most popular hardware/software combinations, thereby limiting market share and reducing the number of users who have access to the software application.
The problem of multiple unrelated user interfaces highlights yet another problem that may also prevent the rapid adoption of software applications via the WWW. Assuming a company has absorbed the cost of developing a custom GUI for a given software application, the GUI developed by one company will most likely differ significantly from the GUI developed by another company for their respective software applications. Typically, each software vendor will create a custom GUI for each specific software application so that whenever a user accesses the software application via the WWW, the user can access the specific features of the software application. However, since every product has different features and every vendor has differing standards for application/user interaction, the result is often a vastly different user interface for each and every software application that the user encounters. The user is often forced to "re-learn" basic skills for interacting with each and every software application they wish to access.
The current situation for accessing software over the WWW is somewhat analogous to the early days of the personal computer. In the early 1980s, the IBM personal computer (PC) was introduced and was quickly adopted as the industry standard hardware platform. However, even though the hardware platform was relatively standard, each independent software vendor created significantly different user interfaces for their respective application programs. This, in turn, proved to be an impediment to the rapid adoption of new application programs by the users of personal computers. Because users were unable to efficiently use new software applications without extensive training, many new software applications were not adopted.
Today, however, new standards have been developed and adopted for personal computer software applications which dramatically reduce the amount of re-learning that must take place for new software applications. State-of-the-art GUI operating systems such as IBM's OS2 have standardized many common user actions and provided independent software developers and vendors with the "hooks" or programming tools necessary to access most standard user interface components and features, thereby dramatically reducing the learning curve for end-users. Unfortunately, this standardization effort has not yet penetrated the WWW In fact, the ready availability of the WWW as a delivery system for software applications has exacerbated the rapid proliferation of the disparate software now available over the WWW. In addition, some of the most powerful software applications available have non-intuitive, non-graphical user interfaces. The process of re-learning a new interface for each new application tends to be tedious, time-consuming and non-productive. Therefore, even though many software applications may be accessible over the WWW today, learning how to access these various programs can be time-consuming, frustrating, and intimidating for the end-user.